﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Modulos/ModuloConsumo/VistaControl/MasterPageConsumo.master" AutoEventWireup="true" CodeFile="emitirSolicitud.aspx.cs" Inherits="Modulos_ModuloConsumo_VistaControl_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <h2>Emitir Solicitud</h2>
    <br />
    <asp:FormView ID="FormView1" runat="server" 
        DataKeyNames="ID_SOLICITUD,NUMERO_LINEA" DataSourceID="SqlDataSource1">
        <EditItemTemplate>
            ID_SOLICITUD:
            <asp:Label ID="ID_SOLICITUDLabel1" runat="server" 
                Text='<%# Eval("ID_SOLICITUD") %>' />
            <br />
            USR_RUT:
            <asp:TextBox ID="USR_RUTTextBox" runat="server" Text='<%# Bind("USR_RUT") %>' />
            <br />
            ID_INGRESO:
            <asp:TextBox ID="ID_INGRESOTextBox" runat="server" 
                Text='<%# Bind("ID_INGRESO") %>' />
            <br />
            FECHA_SOLICITUD:
            <asp:TextBox ID="FECHA_SOLICITUDTextBox" runat="server" 
                Text='<%# Bind("FECHA_SOLICITUD") %>' />
            <br />
            ESTADO_SOLICITUD:
            <asp:TextBox ID="ESTADO_SOLICITUDTextBox" runat="server" 
                Text='<%# Bind("ESTADO_SOLICITUD") %>' />
            <br />
            NUMERO_LINEA:
            <asp:Label ID="NUMERO_LINEALabel1" runat="server" 
                Text='<%# Eval("NUMERO_LINEA") %>' />
            <br />
            ID_PRODUCTO:
            <asp:TextBox ID="ID_PRODUCTOTextBox" runat="server" 
                Text='<%# Bind("ID_PRODUCTO") %>' />
            <br />
            Expr1:
            <asp:TextBox ID="Expr1TextBox" runat="server" Text='<%# Bind("Expr1") %>' />
            <br />
            CANTIDAD_PRODUCTO:
            <asp:TextBox ID="CANTIDAD_PRODUCTOTextBox" runat="server" 
                Text='<%# Bind("CANTIDAD_PRODUCTO") %>' />
            <br />
            VALOR_LINEA:
            <asp:TextBox ID="VALOR_LINEATextBox" runat="server" 
                Text='<%# Bind("VALOR_LINEA") %>' />
            <br />
            <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
                CommandName="Update" Text="Actualizar" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </EditItemTemplate>
        <InsertItemTemplate>
            <table style="width:100%;">
                <tr>
                    <td style="width: 37px">
                        Usuario</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="7">
                        <asp:DropDownList ID="DropDownList1" runat="server"
                            DataSourceID="SqlDataSource1"
                            DataTextField="NOM_USR"
                            SelectedValue='<%# Bind("USR_RUT") %>'
                            DataValueField="USR_RUT">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            
                            SelectCommand="SELECT [USR_RUT], [NOM_USR], [AP_PAT_USR], [AP_MAT_USR], [FONO_USR], [MAIL_USR], [PASS_USR], [TIPO_USR], [ESTADO_USR] FROM [USUARIO]">
                        </asp:SqlDataSource>
                    </td>
                </tr>
                <tr>
                    <td style="width: 37px">
                        Fecha</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="7">
                        <asp:TextBox ID="FECHA_SOLICITUDTextBox" runat="server"
                            Value='<%# System.DateTime.Now.ToString("dd-MM-yyyy") %>'
                            Text='<%# Bind("FECHA_SOLICITUD", "{0:d}") %>' />
                        <asp:RequiredFieldValidator ID="RequiredFECHA_SOLICITUDValidator" runat="server" 
                            ControlToValidate="FECHA_SOLICITUDTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="ExpressionFECHA_SOLICITUDValidator" 
                            runat="server" ControlToValidate="FECHA_SOLICITUDTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo de Fecha" 
                            ValidationExpression="(\d{1,2}\-\d{1,2}\-\d{4})"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td style="width: 37px">
                        Estado</td>
                    <td style="width: 3px">
                        :</td>
                    <td colspan="7">
                        <asp:TextBox ID="ESTADO_SOLICITUDTextBox" runat="server" 
                            Text='<%# Bind("ESTADO_SOLICITUD") %>' />
                        <asp:RegularExpressionValidator ID="ExpressionESTADO_SOLICITUDValidator" 
                            runat="server" ControlToValidate="ESTADO_SOLICITUDTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredESTADO_SOLICITUDValidator" 
                            runat="server" ControlToValidate="ESTADO_SOLICITUDTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td style="width: 37px">
                        Linea</td>
                    <td style="width: 3px">
                        :</td>
                    <td>
                        <asp:TextBox ID="NUMERO_LINEATextBox" runat="server" 
                            Text='<%# Bind("NUMERO_LINEA") %>' Width="30px" />
                        <asp:RegularExpressionValidator ID="ExpressionNUMERO_LINEAValidator0" 
                            runat="server" ControlToValidate="NUMERO_LINEATextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredNUMERO_LINEAValidator0" 
                            runat="server" ControlToValidate="NUMERO_LINEATextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                    <td>
                        Producto</td>
                    <td>
                        :</td>
                    <td>
                        <asp:DropDownList ID="DropDownList2" runat="server"
                            DataSourceID="SqlDataSource2"
                            DataTextField="NOMBRE_PRODUCTO"
                            SelectedValue='<%# Bind("ID_PRODUCTO") %>'
                            DataValueField="ID_PRODUCTO">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            
                            SelectCommand="SELECT [ID_PRODUCTO], [ID_TIPO_PROD], [NOMBRE_PRODUCTO], [STOCK_PRODUCTO], [PRECIO_MAXIMO], [PROD_HABILITADO] FROM [PRODUCTO_GRATUITO]">
                        </asp:SqlDataSource>
                    </td>
                    <td>
                        Cantidad</td>
                    <td>
                        :</td>
                    <td>
                        <asp:TextBox ID="CANTIDAD_PRODUCTOTextBox" runat="server" 
                            Text='<%# Bind("CANTIDAD_PRODUCTO") %>' Width="30px" />
                        <asp:RegularExpressionValidator ID="ExpressionCANTIDAD_PRODUCTOValidator1" 
                            runat="server" ControlToValidate="CANTIDAD_PRODUCTOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredCANTIDAD_PRODUCTOValidator1" 
                            runat="server" ControlToValidate="CANTIDAD_PRODUCTOTextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td style="width: 37px">
                        &nbsp;</td>
                    <td style="width: 3px">
                        &nbsp;</td>
                    <td colspan="7">
                        &nbsp;</td>
                </tr>
            </table>
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                CommandName="Insert" Text="Confirmar Solicitud" />
            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </InsertItemTemplate>
        <ItemTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Nueva Solicitud" />
        </ItemTemplate>
        <EmptyDataTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Nueva Solicitud" />
        </EmptyDataTemplate>
    </asp:FormView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        InsertCommand="INSERT INTO [dbo].[SOLICITUD_DE_COMPRA] ([USR_RUT], [ID_INGRESO], [FECHA_SOLICITUD], [ESTADO_SOLICITUD]) VALUES (@USR_RUT, @ID_INGRESO, @FECHA_SOLICITUD, @ESTADO_SOLICITUD);
SELECT ID_SOLICITUD, USR_RUT, ID_INGRESO, FECHA_SOLICITUD, ESTADO_SOLICITUD FROM SOLICITUD_DE_COMPRA WHERE (ID_SOLICITUD = SCOPE_IDENTITY());

INSERT INTO [dbo].[DETALLE_SOLICITUD] ([NUMERO_LINEA], [ID_PRODUCTO], [ID_SOLICITUD], [CANTIDAD_PRODUCTO], [VALOR_LINEA]) VALUES (@NUMERO_LINEA, @ID_PRODUCTO, @@IDENTITY, @CANTIDAD_PRODUCTO, @CANTIDAD_PRODUCTO*(SELECT PRECIO_MAXIMO_TIPO FROM TIPO_PRODUCTO WHERE ID_TIPO_PROD = (SELECT ID_TIPO_PROD FROM PRODUCTO_GRATUITO WHERE ID_PRODUCTO=@ID_PRODUCTO)));" 
        
        
        SelectCommand="SELECT SOLICITUD_DE_COMPRA.ID_SOLICITUD, SOLICITUD_DE_COMPRA.USR_RUT, SOLICITUD_DE_COMPRA.ID_INGRESO, SOLICITUD_DE_COMPRA.FECHA_SOLICITUD, SOLICITUD_DE_COMPRA.ESTADO_SOLICITUD, DETALLE_SOLICITUD.NUMERO_LINEA, DETALLE_SOLICITUD.ID_PRODUCTO, DETALLE_SOLICITUD.ID_SOLICITUD AS Expr1, DETALLE_SOLICITUD.CANTIDAD_PRODUCTO, DETALLE_SOLICITUD.VALOR_LINEA FROM SOLICITUD_DE_COMPRA INNER JOIN DETALLE_SOLICITUD ON SOLICITUD_DE_COMPRA.ID_SOLICITUD = DETALLE_SOLICITUD.ID_SOLICITUD">
        <InsertParameters>
            <asp:Parameter Name="USR_RUT" />
            <asp:Parameter Name="ID_INGRESO" />
            <asp:Parameter Name="FECHA_SOLICITUD" />
            <asp:Parameter Name="ESTADO_SOLICITUD" />
            <asp:Parameter Name="NUMERO_LINEA" />
            <asp:Parameter Name="ID_PRODUCTO" />
            <asp:Parameter Name="CANTIDAD_PRODUCTO" />
        </InsertParameters>
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource2">
        <Columns>
            <asp:BoundField DataField="ID_SOLICITUD" HeaderText="ID"
                InsertVisible="False" ReadOnly="True" SortExpression="ID_SOLICITUD" />
            <asp:BoundField DataField="NUMERO_LINEA" HeaderText="Linea"
                SortExpression="NUMERO_LINEA" />
            <asp:BoundField DataField="NOMBRE_PRODUCTO" HeaderText="Producto"
                SortExpression="NOMBRE_PRODUCTO" />
            <asp:BoundField DataField="CANTIDAD_PRODUCTO" HeaderText="Cantidad"
                SortExpression="CANTIDAD_PRODUCTO" />
            <asp:BoundField DataField="PRECIO_MAXIMO_TIPO" HeaderText="Precio Máx. Unitario" 
                SortExpression="PRECIO_MAXIMO_TIPO" />
            <asp:BoundField DataField="VALOR_LINEA" HeaderText="Total Linea"
                SortExpression="VALOR_LINEA" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        
        
        SelectCommand="SELECT SOLICITUD_DE_COMPRA.ID_SOLICITUD, DETALLE_SOLICITUD.NUMERO_LINEA, PRODUCTO_GRATUITO.NOMBRE_PRODUCTO, DETALLE_SOLICITUD.CANTIDAD_PRODUCTO, TIPO_PRODUCTO.PRECIO_MAXIMO_TIPO, DETALLE_SOLICITUD.VALOR_LINEA FROM SOLICITUD_DE_COMPRA INNER JOIN DETALLE_SOLICITUD ON SOLICITUD_DE_COMPRA.ID_SOLICITUD = DETALLE_SOLICITUD.ID_SOLICITUD INNER JOIN PRODUCTO_GRATUITO ON DETALLE_SOLICITUD.ID_PRODUCTO = PRODUCTO_GRATUITO.ID_PRODUCTO INNER JOIN TIPO_PRODUCTO ON PRODUCTO_GRATUITO.ID_TIPO_PROD = TIPO_PRODUCTO.ID_TIPO_PROD">
    </asp:SqlDataSource>
</asp:Content>

